-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: gene essentiality workflow #675
Conversation
- name: Run gene essentiality | ||
id: essentiality | ||
run: | | ||
TEST_RESULTS=$(/usr/local/bin/matlab -nodisplay -nosplash -nodesktop -r "ihuman = importYaml('Human-GEM.yml'); taskStruct = parseTaskList('data/metabolicTasks/metabolicTasks_Essential.txt'); eGenes = estimateEssentialGenes(ihuman, 'Hart2015_RNAseq.txt', taskStruct); disp(evaluateHart2015Essentiality(eGenes));" | awk 'NR>9 && !/^\.+/') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@haowang-bioinfo the output of this line is very hard to capture/use. Do you have any suggestions to make this output more compact?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As seen in this workflow run, the output is way too rich to fit in a PR comment. @haowang-bioinfo how would you suggest to change it to end up with a nice summary like here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, I've never thought about this. Because they are non-binary indicators that are hard to be used for evaluating purpose in actions
Also noting here this relevant research article Synthetic lethality in large-scale integrated metabolic and regulatory network models of human cells. |
yes, it mentioned another method gMCStool that can predict essential genes in context-specific models. Other checks than essentiality are also welcome |
@mihai-sysbio Could you explain the reason for the failing task? |
The task isn't actually failing, really. As mentioned in the comment above, it's simply that the output of the gene essentiality is so long that it cannot be posted as a PR comment. I couldn't figure out how @haowang-bioinfo ran the calculations to obtain a much more compressed output. As visible in the workflow changes, the code here is just calling functions defined elsewhere. |
the concise output was an outcome of a series of manual operations of running functions, copy/paste results, and modifications with text editor |
If these last manual steps could be ran as a function, then we would be ready to run the gene essentiality analysis on every PR 💪🏻 |
As is suggested for MACAW results in #840, a summary output could be automatically posted in the PR, while a more detailed text file could be written and committed as part of each PR. This could be organized in the same folder as the MACAW results, and a README.md file could indicate for both output files from which PR they derived from. |
ef03efb
to
497bd7b
Compare
This PR has been automatically tested with GH Actions. Here is the output of the MACAW test: Starting dead-end test... This and a more detailed output from MACAW are also committed to
|
This PR has been automatically tested with GH Actions. Here is the output of the gene essentiality test: cellLine TP TN FP FN accuracy sensitivity specificity F1 MCC
|
19b9a8e
to
0ef23be
Compare
Finally 😄 it seems to work! Ready for review. |
This is amazing 🤩 thank you @edkerk for seeing this through 💪🏻 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a contributor to this PR I cannot formally review it - only comments are allowed - so please consider this an approval 👍🏻
Main improvements in this PR:
This PR aims to automatise the gene essentiality checks as introduced in #563 with a GitHub workflow, also discussed in that PR thread.
I hereby confirm that I have:
develop
as a target branch